Standard-Definition to High-Definition Navigation Route Determination

ABSTRACT

This document describes techniques, apparatuses, and systems for standard-definition (SD) to high-definition (HD) navigation route determination. An example route builder receives a navigation route generated for a host vehicle. The navigation route includes a list of waypoints generated by an SD map database. The route builder matches the list of waypoints to lane geometry data maintained in an HD map database and outputs HD navigation route to a vehicle controller. The HD navigation route includes the list of waypoints, additional waypoints, and lane geometry data. The vehicle controller can then operate the host vehicle in a roadway environment along the HD navigation route. In this way, the described techniques and systems can provide HD navigation routes required by some assisted-driving and autonomous-driving systems based on SD navigation routes.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Application No.63/275,810, filed Nov. 4, 2021, the disclosure of which is herebyincorporated by reference in its entirety herein.

BACKGROUND

Many mobile and in-vehicle navigation systems use standard definition(SD) map databases to provide navigation routes. The navigation routesgenerally include a list of waypoints with latitude and longitudecoordinates. SD maps often include waypoints, roads, road segment names,and rough details of the lengths of road segments. This level of detailin SD maps is usually adequate for human drivers to navigate a route.However, assisted-driving and autonomous-driving systems require preciseinformation including detailed shape geometry for each lane in order tosafely navigate routes. Most SD maps, however, do not include thisprecise lane information found in high definition (HD) maps. Thus, amethod is required to match routes based on SD maps to the precise lanelevel details found in HD maps. Some matching methods rely on grid-basedspatial index methods to generate paths with sufficient details, butthese methods require complex algorithms and a great deal of computingpower to deliver the precise route.

SUMMARY

This document describes techniques, apparatuses, and systems for SD toHD navigation route determination. For example, this document describesa route builder configured to receive a navigation route generated for ahost vehicle. The navigation route includes a list of waypointsgenerated using an SD map database. The route builder matches the listof waypoints to lane geometry data maintained in an HD map database andoutputs an HD navigation route to a path planning sub-system to controlthe vehicle navigating the route. The HD navigation route includes thelist of waypoints, additional waypoints, and lane geometry data. Thevehicle path planning and trajectory control systems can then operatethe host vehicle in a roadway environment following the HD navigationroute.

This document also describes other operations of the above-summarizedsystems, techniques, apparatuses, and other methods set forth herein, aswell as means for performing these methods.

This Summary introduces simplified concepts for SD to HD navigationroute determination, further described below in the Detailed Descriptionand Drawings. This Summary is not intended to identify essentialfeatures of the claimed subject matter, nor is it intended to determinethe scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Details of one or more aspects of SD to HD navigation routedetermination are described in this document regarding the followingfigures. The same numbers are used throughout the drawings to referencelike features and components:

FIG. 1 illustrates an example road environment in which a route buildercan perform SD to HD navigation route determination according totechniques described in this disclosure;

FIG. 2 illustrates the vehicle software components utilized to performSD to HD navigation route determination according to techniquesdescribed in this disclosure;

FIG. 3 illustrates example conceptual diagrams indicating how a routebuilder can perform an SD to HD navigation route determination accordingto techniques described in this disclosure;

FIG. 4 illustrates an example conceptual diagram of a software method toperform SD to HD navigation route determination according to techniquesdescribed in this disclosure;

FIG. 5 illustrates an example conceptual diagram of a software method toidentify a finish lane segment and LSG for a navigation route;

FIG. 6 illustrates an example conceptual diagram of a software method toidentify a start lane segment and LSG for a navigation route;

FIG. 7 illustrates an example conceptual diagram of a software method tointerpolate the waypoints for a navigation route;

FIG. 8 illustrates an example conceptual diagram of a software method todetermine segment weights for an SD to HD navigation routedetermination;

FIGS. 9-1 through 9-3 illustrate example conceptual diagram of asoftware method to generate a path for the HD navigation route; and

FIG. 10 illustrates an example flowchart as an example process performedby a route builder for SD to HD navigation route determination.

DETAILED DESCRIPTION Overview

Navigation systems are an important technology for assisted-driving andautonomous-driving systems. Some of these vehicle-based systems mayrequire a navigation system to provide navigation routes to a particulardestination and provide HD map data. In contrast to SD map data, HD mapdata can include stop bars, lane information, finely spaced waypoints,lane centerline points, curvature data, information regarding trafficcontrol devices, localization data, and three-dimensional data.

HD map data may be necessary for many features of vehicle-based systems,including traffic-jam assist (TJA), lane-centering assist (LCA),automatic lane change (ALC), and autonomous driving. For example, HDmaps are critical for these systems to understand the roadwayenvironment, plan navigation routes, plan driving trajectories along aroadway, and control the vehicle along a navigation route. However, manymobile and in-vehicle navigation systems do not provide navigationroutes with an adequate level of detail to enable such technologies.Instead, the systems often provide navigation routes using SD mapdatabases that generally include waypoints, roads, segment names, andrough details of the length of a segment.

In contrast, this document describes techniques for SD to HD navigationroute determination. A route builder can use an existing SD map databaseto generate HD navigation routes for use in assisted-driving andautonomous-driving systems. The route builder can receive a navigationroute generated for a vehicle. The navigation route includes a list ofwaypoints generated using the SD map database. The route builder canthen match the list of waypoints to lane geometry data maintained in anHD map database and output the HD navigation route to a vehiclecontroller of the host vehicle. The HD navigation route includes thelist of waypoints, additional waypoints, and lane geometry data. Thevehicle controller can then operate the vehicle in a roadway environmentalong the HD navigation route. In this way, vehicles can useassisted-driving and autonomous-driving systems with existing SD basednavigation systems.

This section describes just one example of how the described techniquesand systems can perform SD to HD navigation route determination. Thisdocument describes other examples and implementations.

Operating Environment

FIG. 1 illustrates an example road environment 100 in which a routebuilder 104 can perform SD to HD navigation route determinationaccording to techniques described in this disclosure. FIG. 1 illustratesthe route builder 104 as part of a system (not shown) implemented withina vehicle 102. Although presented as a car, vehicle 102 can representother motorized vehicles (e.g., a motorcycle, a bus, a tractor, asemi-trailer truck, or construction equipment). In general,manufacturers can mount or install the route builder 104 in any movingplatform traveling on the roadway.

Vehicle 102 is traveling along a navigation route on a roadway. Althoughpresented as a road (e.g., a highway) with lanes and lane markers inFIG. 1 , the roadway can be any type of designated travel routes for avehicle, including for example virtual water lanes used by ships andferries, virtual air lanes used by unmanned aerial vehicles (UAVs) andother aircraft, train tracks, tunnels, or virtual underwater lanes. Thenavigation route includes a list of multiple low-precision waypoints106. The waypoints 106 can include respective geographic locations(e.g., latitude and longitude coordinates) provided in sequenceaccording to the desired direction of vehicle travel on sections of theroadway. Each waypoint 106 can include a latitude and longitudecoordinate that, for example, can typically have a six-meter accuracy.

The roadway includes one or more lanes, with the lanes represented bycenterline points 108, lane segments 110, and lane segment groups (LSGs)112 by the route builder 104. The lane segments 110 represent respectiveportions of a roadway lane. For example, the lane segments 110-1, 110-3,and 110-5 represent respective portions of the current road in whichvehicle 102 is traveling. One or more lane segments 110 with the sametravel direction are included in an LSG 112. The LSGs 112 are generallyrespective portions of a group of lanes in the same travel directionthat do not split with unchanging lane markers. For example, the LSG112-1 includes the lane segments 110-1 and 110-2. The LSG 112-2 includesthe lane segments 110-3 and 110-4. The LSG 112-3 includes the lanesegments 110-5 and 110-6. Each of the LSGs 112 may include a pluralityof lines (e.g., vectors of points, lane markers). In someimplementations, each of the LSGs 112 may include a predeterminedorigin. The origins can be centered laterally in the respective LSGs 112and at the beginning of each LSG 112. The locations of the originsrelative to the respective LSGs 112 may vary without departing from thescope of this disclosure.

Each of the lane segments 110 includes an array of centerline points 108that represent the lateral center of the respective lane segment 110.The centerline points 108 are organized or associated with a lanesegment 110.

In the depicted environment 100, one or more sensors (not illustrated)are mounted to or integrated within the vehicle 102. The route builder104 uses an SD map database to generate a navigation route to a desireddestination. The navigation route includes multiple waypoints 106. Theroute builder 104 matches the waypoints 106 provided by the SD-mapdatabase to lane geometry data from an HD map database to generate an HDnavigation route. The HD map database can include the centerline points108, the lane segments 110, and the LSGs 112 for relevant portions ofthe roadway along the navigation route. Details of the HD navigationroute generation are discussed further below.

Example Architecture

FIG. 2 illustrates an example system with the route builder 104 that canperform SD to HD navigation route determination according to techniquesdescribed in this disclosure. Vehicle 102 includes one or moreprocessors 202, computer-readable storage medium (CRM) 204, one or morecommunication components 218, and one or more vehicle-based systems 222.The vehicle 102 can also include one or more sensors (e.g., a camera, aradar system, a global positioning system (GPS), a global navigationsatellite system (GNSS), a lidar system, an inertial measurement unit(IMU)) to provide input data to the one or more vehicle-based systems222.

The processor 202 can include, as non-limiting examples, a system onchip (SoC), an application processor (AP), an electronic control unit(ECU), a central processing unit (CPU), or a graphics processing unit(GPU). The processor 202 may be a single-core processor or amultiple-core processor implemented with a homogenous or heterogenouscore structure. The processor 202 may include a hardware-based processorimplemented as hardware-based logic, circuitry, processing cores, or thelike. In some aspects, functionalities of the processor 202 and othercomponents of the route builder 104 are provided via integratedprocessing, communication, or control systems (e.g., an SoC), which mayenable various operations of the vehicle 102 in which the system isembodied.

The CRM 204 described herein excludes propagating signals. The CRM 204may include any suitable memory or storage device such as random-accessmemory (RAM), static RAM (SRAM), dynamic RAM (DRAM), non-volatile RAM(NVRAM), read-only memory (ROM), or Flash memory useable to store devicedata (not illustrated) and the map data of a map manager 206.

The processor 202 executes computer-executable instructions storedwithin the CRM 204 to perform the techniques described herein. Forexample, the processor 202 can execute the map manager 206 to processand access map data 208 or cause the route builder 104 to perform SD toHD navigation route determination.

The map manager 206 includes the map data 208. The map manager 206 canstore the map data 208, process updated map data received from a remotesource, and retrieve portions of the map data 208 for the route builder104. The map data 208 can include information to generate SD navigationroutes, including the waypoints 106, for the vehicle 102. The map data208 can also include HD map data received from a remote source or adatabase that provides lane geometry data for sections of the roadwaysalong an SD navigation route. The lane geometry data can include thecenterline points 108, the lane segments 110, the LSGs 112, and otherdetails associated with roadways (e.g., curvature, traffic controldevices, stop bars, localization data, and three-dimensional data). Theroute builder 104 can associate road attributes to LSGs 112 or lanesegments 110. For example, the route builder 104 can associate speedlimits to lane segments 110, road curvature to lane segments 110 orcenterline points 108, and stop signs to LSGs 112. In the depictedsystem, the map manager 206 is illustrated as located on or within thevehicle 102. In other implementations, the map manager 206 or anotherimplementation of the map manager 206 can be located remote from vehicle102 (e.g., in the cloud or on a remote computer system) and provide themap data 208 or a subset of the map data 208 to the vehicle 102 and theroute builder 104.

Similarly, the processor 202 can execute the route builder 104 toperform SD to HD navigation route determination based on the map data208. The route builder 104 can include a map interface 210, a lanematcher 212, a weight module 214, and a path builder 216. The mapinterface 210 can access the HD map database within the map data 208 toobtain the centerline points 108, lane segments 110, LSGs 112, and otherlandmark data for the different components of the route builder 104. Thelane matcher 212 can use map data 208 to match the waypoints 106 fromthe SD navigation route to lane geometry data in the HD map database.The weight module 214 determines possible lanes the vehicle 102 can useto follow the SD navigation route. The weight module 214 can, forexample, determine an HD navigation route that addresses lane androadway splits and merges along the SD navigation route. The pathbuilder 216 can define a list of continuous lane segments 110 forvehicle 102 to travel along the HD navigation route.

The communication components 218 can include a vehicle-based systeminterface 220. The vehicle-based system interface 220 can transmit dataover a communication network of the vehicle 102 between variouscomponents of the vehicle 102 or between components of the vehicle 102and external components. For example, when the map manager 206 and theroute builder 104 are integrated within the vehicle 102, thevehicle-based system interface 220 may facilitate data transfertherebetween. When the map manager 206 is remote to the vehicle 102, thevehicle-based system interface 220 may facilitate data transfer betweenthe vehicle 102 and a remote entity that has the map manager 206. Thecommunication components 218 can also include a sensor interface (notillustrated) to relay measurement data from sensors as input to thevehicle-based systems 222 or other components of the vehicle 102.

The vehicle-based system interface 220 can transmit HD navigation routedata to the vehicle-based systems 222 or another component of thevehicle 102. In general, the HD navigation route data provided by thevehicle-based system interface 220 is in a format usable by thevehicle-based systems 222. In some implementations, the vehicle-basedsystem interface 220 can send information to the route builder 104,including, as a non-limiting example, the speed or heading of thevehicle 102. The route builder 104 can use this information to configureitself appropriately. For example, the route builder 104 can adjust astarting point of an HD navigation route based on the speed of thevehicle 102.

The vehicle-based systems 222 can use data from the route builder 104 tooperate the vehicle 102 on the roadway. The vehicle-based systems 222can include an assisted-driving system and an autonomous-driving system(e.g., an Automatic Cruise Control (ACC) system, Traffic-Jam Assist(TJA) system, Lane-Centering Assist (LCA) system, L3/L4 AutonomousDriving on Highways (L3/L4) system). Generally, the vehicle-basedsystems 222 use the HD navigation route data provided by the routebuilder 104 to perform a function. For example, the assisted-drivingsystem can provide automatic cruise control and monitor for an object(as detected by another system on the vehicle 102) in the lane in whichthe vehicle 102 is traveling. The route data from the route builder 104may identify the lane segments 110.

The vehicle-based systems 222 may move the vehicle 102 to a particularlocation on the roadway while navigating the vehicle 102 along thenavigation route. The autonomous-driving system can also move vehicle102 to a specific location on the roadway to avoid collisions withobjects detected by other systems (e.g., a radar system, a lidar system)on the vehicle 102 and move the vehicle 102 back to the originalnavigation route. The HD navigation route data provided by the routebuilder 104 can provide information about the locations of the lanes anduncertainties in the locations of the lanes to enable theautonomous-driving system to perform a lane change or steer the vehicle102.

Route Generation

FIG. 3 illustrates example conceptual diagrams 302 through 312illustrating an SD to HD navigation route determination according totechniques described in this disclosure. The route builder 104 obtainsan SD navigation route from a navigation system or mobile device. The SDnavigation route includes a heading (e.g., direction) and a list ofwaypoints. The list of waypoints includes a start waypoint 316,intermediate waypoints 318, and a finish waypoint 320.

In conceptual diagram 302, the route builder 104 or the lane matcher 212can identify an anchor point from an HD map database to finish thenavigation route and a heading 314. Starting with the finish waypoint320, the lane matcher 212 can iterate backward through the list ofwaypoints until a lane segment in the HD map database is identified thatcontains the waypoint coordinates. The lane segment can then beidentified as a finish road segment 322. The finish road segment 322does not necessarily include the finish waypoint 320 (e.g., if thedestination is a building or parking area adjacent to a roadway).

In conceptual diagram 304, the route builder 104 or the lane matcher 212can identify an anchor point from an HD map database to start thenavigation route. Beginning with the start waypoint 316, the lanematcher 212 can iterate forward through the list of waypoints until alane segment in the HD map database is identified that contains thewaypoint coordinates. The lane segment can then be identified as a startroad segment 324. The start road segment 324 does not necessarilyinclude the start waypoint 316 (e.g., if the starting place is abuilding or parking area adjacent to a roadway).

In conceptual diagram 306, the route builder 104 or the lane matcher 212can expand the list of waypoints via interpolation. The list ofwaypoints in the SD navigation route is often sparsely spaced along theroute, resulting in some lane segments 110 (e.g., short lane segments)not being included in the SD navigation route. The lane matcher 212 caninterpolate the list of waypoints to add waypoints 326 for missed lanesegments 110 and provide a means to create a weighting metric based onthe number of waypoints contained within a lane segment 110. The lanematcher 212 can apply a linear or cubic interpolation method across thecoordinates for the list of waypoints to generate a HD navigation routewith a dense set of waypoints. Generally, the lane matcher 212configures the minimum spacing among the waypoints to be no greater thanhalf the length of the shortest candidate lane segment in the route toensure a lane segment is not skipped.

In the conceptual diagrams 308 and 310, the route builder 104 or theweight module 214 can assign weight values to lane segments 110. Theweight module 214 can create a histogram with a slot for each LSG 112and lane segment 110 within a particular LSG 112. The weight module 214iterates through each waypoint and accumulates the number of waypointsthat are geometrically contained within each LSG 112 and lane segment110. In the conceptual diagram 308, LSGs 328 do not have any waypointsand thus will not be included in the HD navigation route generated bythe route builder 104. In the conceptual diagram 310, lane segments 330include waypoints and will be included in the HD navigation route. Incontrast, lane segments 332 do not have any waypoints and will not beincluded in the HD navigation route. The weighting process allows theroute builder 104 to determine a lane segment 110 for each portion ofthe HD navigation route. For example, the SD navigation route can lackinformation or waypoints regarding merging an on-ramp and interstate oroff-ramps exiting an interstate.

In conceptual diagram 310, the route builder 104 or the path builder 216creates the HD navigation route 334. The path builder 216 creates asequence of connected lane segments 330 to complete navigation from thestart waypoint 316 to the finish waypoint 320. The HD navigation route334 includes handling interstate or highway on-ramps and off-ramps alongwith connector roads. The path builder 216 traverses the road networkfrom the finish waypoint 320 backward to the start waypoint 316. Thepath builder 216 may use candidate matching logic to determine thecorrect path for mergers in the road lane segments.

FIG. 4 illustrates an example conceptual diagram 400 of a softwaremethod to perform SD to HD navigation route determination according totechniques described in this disclosure. The route builder 104 of FIGS.1 and 2 or another component can perform the software method illustratedin the conceptual diagram 400.

Inputs to the route builder 104 include the waypoints 106 and dataoriginating from an HD map database 402. The waypoints 106 include alist of waypoints for the navigation route provided by an SD navigationsystem. The waypoints 106 include multiple geographic locations (e.g.,latitude and longitude coordinates) provided in sequence according tothe desired direction of travel to reach the desired destination. Asdescribed above, the waypoints 106 generally have an accuracy ofapproximately plus or minus three meters.

The HD map database 402 includes the relevant road network data for thenavigation route. The HD map database 402 includes lane geometry dataand the associated lane connectivity information. The lane geometry datagenerally has an accuracy of ten centimeters. The HD map database 402can include road network data for a particular region (e.g., NorthAmerica, Europe, Asia), country, state, county, or city.

At 404, the route builder 104 validates the waypoints 106. Thevalidation includes a basic check on the waypoint coordinates along witha bounds check to ensure the navigation route overlays the contents ofthe HD map database 402 (e.g., a navigation route along Chinese roadsmay not match to HD map database 402 for European roads). The routebuilder 104 can also analyze the navigation route to determine if thewaypoints 106 exit and reenter the HD road network (e.g., the navigationroute includes exiting a highway to stop for refueling or recharging inan urban area not covered by the HD map database 402 and then reenteringthe highway). If so, the route builder 104 may split the HD navigationroute into multiple paths.

At 418, the route builder 104 calls a splitting operation when thenavigation route includes gaps not covered by the road network withinthe HD map database 402. In such scenarios, the navigation route can bepartitioned into multiple sub-routes that include continuous paths onthe road network. The multiple sub-routes are submitted as inputs tooperations 404 through 416.

At 406, the route builder 104 queries the HD map database 402 to obtainlane geometry data for the route determination.

At 408, the route builder 104 identifies the last or finish road segment322 containing one of the waypoints 106. The finish road segment 322 isdetermined from the lane geometry data in the HD map database 402. Thewaypoints 106 can continue off or outside the HD map database 402, sothe route builder 104 can limit the HD navigation route to where thelane geometry data in the HD map database 402 ends.

At 410, the route builder 104 identifies the first or start road segment324 containing one of the waypoints 106. The start road segment 324 isdetermined from the lane geometry data in the HD map database 402. Thewaypoints 106 can begin off or outside the HD map database 402, so theroute builder 104 can limit the HD navigation route to where the lanegeometry data in the HD map database 402 starts.

At 412, the route builder 104 interpolates the waypoints 106 to addadditional waypoints to the navigation route at a configurable spacing(e.g., every 30 cm). The configurable spacing may be static (e.g.,fixed) or dynamic (e.g., based on the shortest lane segment 110 or LSG112 along the navigation route). The additional waypoints improve theweighting performed by the route builder 104 and close gaps for lanesegments 110 or LSGs 112 missed by the waypoints 106.

The route builder 104 can also maintain a list or array of lane nodeobjects that have been matched to the waypoints in the navigation route.The lane nodes include connectivity data to link previous and next lanenodes together to form the road network.

At 414, the route builder 104 determines a weight for each potentiallane segment 110 and LSG 112 along the navigation route. The routebuilder 104 can store an accumulation of waypoints within each lanesegment 110 and LSG 112 (e.g., within a histogram, array, or variableset).

At 416, the route builder 104 creates a path for the navigation route.The path is based on the weights for the potential lane segments 110 andLSGs 112 by crawling the navigation route in reverse. The created pathincludes path lane segments 420 within the HD map database 402 to travelfrom the starting point to the finish point. The path lane segments 420can be defined or identified using a list or array of lane segmentidentifications to define the navigation route at a lane level.Similarly, the path lane segments 420 can include a list or array of LSGidentifications to define the navigation route at a road section level.

FIG. 5 illustrates an example conceptual diagram 500 of a softwaremethod to identify a finish road segment 322 for a navigation route. Theconceptual diagram 500 provides a more detailed description of operation408 (e.g., identifying the finish segments) of FIG. 4 . The routebuilder 104 of FIGS. 1 and 2 or the lane matcher 212 of FIG. 2 canperform the software method illustrated in the conceptual diagram 500.

Inputs to the lane matcher 212 include the waypoints 106 and the HD mapdatabase 402. As described above, the waypoints 106 include a list ofwaypoints for the navigation route and are provided by the SD navigationsystem. The HD map database 402 includes the relevant road network datafor the navigation route. The HD map database 402 includes lane geometrydata and the associated lane connectivity information.

At 502, the lane matcher 212 iterates through the waypoints 106 inreverse until a waypoint is identified within an HD map lane node (e.g.,lane segment 110, LSG 112, or a combination thereof).

At 504, the lane matcher 212 calls or initiates a lane node module 506for each waypoint 106 to determine if the respective waypointcoordinates are contained within a lane node of the HD map database 402.

At 508, the lane node module 506 queries the HD map database 402 for thelane nodes that contain the waypoint coordinates. The lane node module506 can expand the waypoint coordinates by a configurable amount (e.g.,ten meters) to find a lane node even when the waypoint is not includedwithin the road network of the HD map database 402. The expandedcoordinates may help identify the finish lane segment and LSG 522 whenthe waypoint coordinates are inaccurate.

At 510, the lane node module 506 iterates through the queried lane nodesto determine a match.

At 512, the lane node module 506 obtains the lane geometry to create apolygon for the lane area. The polygon is used to determine if thewaypoint position is contained within the lane node.

At 514, the lane node module 506 determines whether the waypoint iscontained within the lane area to identify the matching lane segment110. If a matching lane node is found, a reference or identification forthe lane node is returned to the lane matcher 212. If a matching lanenode is not found, the lane node module 506 returns to operation 510.

If no lane nodes are matched by the lane node module 506, the waypointis likely off the road. The lane node module 506 checks the waypoint todetermine if it is located to the right of the rightmost lane or theleft of the leftmost lane. The lane node module 506 can return theappropriate lane to the lane matcher 212.

At 516, the lane matcher 212 determines whether the lane node for thewaypoint has been found. At 518, if the lane node has been found, thelane matcher 212 identifies the finish road segment 322. The finish roadsegment 322 can be identified by identification values based on thematching lane node. If the lane node has not been found, the lanematcher 212 returns to operation 502 to iterate through the waypoints106.

FIG. 6 illustrates an example conceptual diagram 600 of a softwaremethod to identify a start road segment 324 for a navigation route. Theconceptual diagram 600 provides a more detailed description of operation410 (e.g., identifying the start segments) of FIG. 4 . The route builder104 of FIGS. 1 and 2 or the lane matcher 212 of FIG. 2 can perform thesoftware method illustrated in the conceptual diagram 600.

Inputs to the lane matcher 212 include the waypoints 106 and the HD mapdatabase 402. As described above, the waypoints 106 include a list ofwaypoints for the navigation route and are provided by the SD navigationsystem. The HD map database 402 includes the relevant road network datafor the navigation route. The HD map database 402 includes the lanegeometry data and the associated lane connectivity information.

At 602, the lane matcher 212 iterates through the waypoints 106 until awaypoint is identified within an HD map lane node (e.g., lane segment110, LSG 112, or a combination thereof).

At 604, the lane matcher 212 calls or initiates the lane node module 506for each waypoint 106 to determine if the respective waypoint'scoordinates are contained within a lane node of the HD map database 402.The lane node module 506 performs the same or similar operations asdescribed in reference to FIG. 5 .

At 508, the lane node module 506 queries the HD map database 402 to findthe lane nodes that contain the waypoint coordinates. The lane nodemodule 506 can expand the waypoint coordinates by a configurable amount(e.g., ten meters) to find a lane node even when the waypoint is notincluded within the road network of the HD map database 402. Theexpanded coordinates help identify the start lane segment and LSG 610when the waypoint coordinates are inaccurate.

At 510, the lane node module 506 iterates through the queried lane nodesto determine a match.

At 512, the lane node module 506 obtains the lane geometry to create apolygon for the lane area. The polygon is used to determine if thewaypoint position is contained within the lane node.

At 514, the lane node module 506 determines whether the waypoint iscontained within the lane area to identify the matching lane segment110. If a matching lane node is found, a reference or identification forthe lane node is returned to the lane matcher 212. If a matching lanenode is not found, then the lane node module 506 returns to operation510.

If no lane nodes are matched by the lane node module 506, the waypointis likely off the road, and the lane node module 506 checks the waypointto determine if it is located to the right of the rightmost lane or theleft of the leftmost lane. The lane node module 506 can return theappropriate lane to the lane matcher 212.

At 606, the lane matcher 212 determines whether the lane node for thewaypoint has been found. At 608, if the lane node has been found, thelane matcher 212 identifies the start road segment 324. The start roadsegment 324 can be identified by identification values based on thematching lane node. If the lane node has not been found, the lanematcher 212 returns to operation 602 to iterate through the waypoints.

FIG. 7 illustrates an example conceptual diagram 700 of a softwaremethod to interpolate the waypoints 106 for a navigation route. Theconceptual diagram 700 provides a more detailed description of operation412 (e.g., interpolating the waypoints 106) of FIG. 4 . The routebuilder 104 of FIGS. 1 and 2 or the lane matcher 212 of FIG. 2 canperform the software method illustrated in the conceptual diagram 700.

Inputs to the lane matcher 212 include the waypoints 106. As describedabove, the waypoints 106 include the list of waypoints for thenavigation route and are provided by the SD map database. The output ofthe lane matcher 212 is a dense set of waypoints 710 to better match thelane segments 110 of the navigation route. The dense set of waypoints710 can be stored as a variable that defines the navigation route.

At 702, the lane matcher 212 iterates through the waypoints 106. Theiteration generates a dynamic list of waypoints and allows for theadditional waypoints to the list while iterating.

At 704, lane matcher 212, for each pair of adjacent waypoints in thelist, calculates a Euclidian distance between the respective waypoints.At 706, the lane matcher 212 determines whether the distance between thewaypoints is greater than a distance threshold (e.g., 20 meters). Thedistance threshold can be adjusted to provide the desired weighting forthe weight module 214. At 708, if the distance is greater than thedistance threshold, the lane matcher 212 interpolates between thewaypoints to determine the coordinates of an intermediate waypoint. Itthen adds the intermediate waypoint to the list between the waypoints.The lane matcher 212 then iterates to the intermediate waypoint atoperation 702 and continues the operations of the conceptual diagram700. If the distance is not greater than the distance threshold, thenthe lane matcher 212 returns to operation 702 and iterates to the nextwaypoint in the list. When the lane matcher 212 has iterated through thelist of waypoints to the final waypoint, the lane matcher outputs thedense set of waypoints 710.

FIG. 8 illustrates an example conceptual diagram 800 of a softwaremethod to determine segment weights for SD to HD navigation routedetermination. The conceptual diagram 800 provides a more detaileddescription of operation 414 (e.g., determining the segment weights) ofFIG. 4 . The route builder 104 of FIGS. 1 and 2 or the weight module 214of FIG. 2 can perform the software method illustrated in the conceptualdiagram 800.

Inputs to the weight module 214 include the dense set of waypoints 702and the HD map database 402. As described above, the dense set ofwaypoints 702 includes a list of waypoints for the navigation routeoutput by the lane matcher 212. The HD map database 402 includes therelevant road network data for the navigation route. The HD map database402 includes the lane geometry data and the associated lane connectivityinformation. Outputs from the weight module 214 include lane segmentweights 818 and LSG weights 820 based on the number of waypoints.

At 802, the weight module 214 assigns a finish lane node to a lane nodevariable, which initializes a current lane node to account for the highprobability that the last waypoint matches. At 804, the weight module214 iterates through the dense set of waypoints 702 from the lastwaypoint (e.g., the end of the navigation route) to the first waypoint(e.g., the start of the navigation route). At 806, the weight module 214determines whether the respective lane node contains the currentwaypoint. The weight module 214 can call a specific object (e.g., a lanenode object) to make the determination. If the waypoint is containedwithin the lane node, then the weight module 214 continues to operation814, as described below.

If the waypoint is not within the lane node, at 808, the weight module214 searches for a matching lane node. The weight module 214 can callthe lane node module 506 to determine if the HD map database 402includes a lane node that contains the current waypoint. The lane nodemodule 506 performs the same or similar operations as described inreference to FIGS. 5 and 6 .

At 810, the weight module 214 determines whether a matching lane node isfound. If a matching lane node is not found, then the current waypointis discarded, and the weight module 214 returns to operation 804 tocontinue to the next waypoint in the dense set of waypoints 702. At 812,if a matching lane node is found, the weight module 214 assigns the lanenode to a lane node variable. At 814 and 816, the weight module 214increments the lane segment weight 818 and the LSG weight 820,respectively, for the current lane node.

FIGS. 9-1 through 9-3 illustrate example conceptual diagrams 900-1,900-2, and 900-3, respectively, of a software method to generate thepath lane segments 420 for the HD navigation route. The conceptualdiagrams 900-1 through 900-3 provide a more detailed description ofoperation 416 (e.g., creating the path lane segments 420) of FIG. 4 .The route builder 104 of FIGS. 1 and 2 or the path builder 216 of FIG. 2can perform the software method illustrated in the conceptual diagrams900-1 through 900-3.

Inputs to the path builder 216 include the dense set of waypoints 702and the HD map database 402. As described above, the dense set ofwaypoints 702 includes the list of waypoints for the navigation routethat is output by the lane matcher 212. The HD map database 402 includesthe relevant road network data for the navigation route. The HD mapdatabase 402 includes the lane geometry data and the associated laneconnectivity information. Outputs from path builder 216 include the pathlane segments 420 and the HD navigation route.

At 902, the path builder 216 assigns the LSG from the finish lane nodeto an LSG variable, which initializes the process to start from the endof the navigation route and work in reverse through lane and roadmergers. At 904, the path builder 216 iterates through the dense set ofwaypoints 702 from finish to start to determine the matching lanesegments 110.

At 906, the path builder 216 adds a currently matched LSG to thenavigation route. Path builder 216 can accumulate identificationinformation for the list of matching LSGs for the navigation route. At908, path builder 216 obtains all the lane segments 110 for the currentLSG 112 from the HD map database 402.

At 910, the path builder 216 queries the HD map database 402 to obtainthe previous LSG 112 for the currently matched LSG 112. For continuousroads, a single LSG 112 is retrieved. Merger conditions result inmultiple previous LSGs 112 to be evaluated by the path builder 216 todetermine the correct path. At 912, the path builder 216 determineswhether a previous LSG is found. If no previous LSG is found, thisindicates the end of the road within the HD map database 402, and thepath builder 216 terminates the software method and outputs the pathlane segments 420.

At 914, if a previous LSG is found, the path builder 216 determineswhether the previous LSG is a starting LSG. If the previous LSG is thestarting LSG, this indicates the path is complete from the finishwaypoint to the start waypoint of the HD navigation route, and the pathbuilder 216 terminates the software method and outputs the path lanesegments 420. At 916, if the previous LSG is not the starting LSG, thenthe path builder 216 determines whether a single previous LSG was found.If a single LSG was obtained in operation 910, then the path builder 216proceeds to operation 944, as described in greater detail below.

At 918, if multiple LSGs were obtained as the previous LSG(s), then thepath builder 216 determines the correct LSG. For example, a candidateLSG module 920 can be called to choose the correct path to continuebuilding the HD navigation route. The candidate LSG module 920 can walkthrough each candidate LSG to compare the LSG weights 820 between eachoption. At 922, the candidate LSG module 920 iterates through each lanesegment 110 for each previous LSG. At 924, the candidate LSG module 920determines a lane segment weight 818 for each lane segment 110. At 926,the candidate LSG module 920 determines whether a match exists byidentifying whether any lane segment 110 has a lane segment weight 818greater than zero. If no match exists, the candidate LSG module 920returns to operation 922. If a match exists, at 928, the candidate LSGmodule 920 adds the LSG to the output list of candidate LSGs.

At 930, the path builder 216 determines whether there are any candidateLSGs. If there are no candidate LSGs, the path builder 216 terminatesthe software method and outputs the path lane segments 420. If there isat least one candidate LSG, at 932, the path builder 216 determineswhether there is a single candidate LSG. At 934, if multiple candidateLSGs are present, the path builder 216 determines the correct LSG. Thepath builder 216 can call a best LSG module 936 to determine the correctLSG. The best LSG module 936 iterates through each candidate path tocompare the overall match weights between each candidate LSG. At 930,the best LSG module 936 queries the HD map database 402 to find multiplemerging paths. At 940, the best LSG module 936 calculates andaccumulates the match weights for each lane segment of the candidateLSGs. At 942, the best LSG module 936 selects the highest weighted lanesegment. At 944, the path builder 216 assigns the current LSG variableequal to the previous or candidate LSG and returns to operation 904.

Example Method

FIG. 10 illustrates an example flowchart 1000 as an example processperformed by a route builder for SD to HD navigation routedetermination. Flowchart 1000 is shown as sets of operations (or acts)performed, but not necessarily limited to the order or combinations inwhich the operations are shown herein. Further, one or more of theoperations may be repeated, combined, or reorganized to provide othermethods. In portions of the following discussion, reference may be madeto route builder 104 of FIGS. 1 through 9-3 and entities detailedtherein, references to which are made for example only. The techniquesare not limited to performance by one entity or multiple entities.

At 1002, a route builder receives a navigation route for a host vehiclefrom an SD map database that includes a list of waypoints. For example,the route builder 104 can receive the navigation route for vehicle 102from the SD map database. The navigation route includes the list ofwaypoints 106. The SD map database can be installed in the vehicle 102or located remote from the vehicle 102 (e.g., in the cloud, on a remotecomputer system, on a mobile device, other mobile computing system). Ifthe SD map database is remote to or separate from the vehicle 102, thenavigation route can be wirelessly communicated to vehicle 102 (e.g.,via cellular, WiFi, Bluetooth, other wireless communication).

At 1004, responsive to receiving the navigation route, the route buildermatches the list of waypoints to lane geometry data maintained in an HDmap database. For example, the route builder 104 matches the list ofwaypoints 106 to lane geometry data in response to receiving thenavigation route. The lane geometry data is maintained in the HD mapdatabase 402. The HD map database 402 can be installed in the vehicle102 or stored remotely (e.g., in the cloud or another computer system).The HD map database 402 can include road segment data (e.g., lanesegments 110, LSGs 112, associated connectivity data) for roads of aparticular region (e.g., North America). For example, the HD mapdatabase 402 can be located remote from the vehicle 102 and execute theoperation 1004 remote from the vehicle 102. The HD map database 402 canthen send the HD navigation route, including the path lane segments 420,via wireless communication to the vehicle 102.

The route builder 104 can match the list of waypoints 106 to the lanegeometry data by identifying the finish road segment and the start roadsegment of the HD navigation route. The route builder 104 can identifythe finish road segment (e.g., the finish lane segment and LSG 522) bystarting with the last waypoint in the list of waypoints 106 anditerating backward through the list of waypoints 106 to identify thefinish lane segment that includes coordinates of a waypoint in the listof waypoints 106. The route builder 104 can identify the start roadsegment (e.g., the start lane segment and LSG 610) by starting with thefirst waypoint in the list of waypoints 106 and iterating forwardsthrough the list of waypoints 106 to identify the start lane segmentthat includes coordinates of a waypoint in the list of waypoints 106.

The route builder 104 can then interpolate the list of waypoints 106between the start road segment and the finish road segment to generatethe dense set of waypoints 710. The dense set of waypoints 710 includesthe list of waypoints 106 and the additional waypoints. Theinterpolation of the list of waypoints 106 can be performed by applyinglinear interpolation or cubic interpolation across coordinates of thelist of waypoints to generate the dense set of waypoints 710. Thespacing between waypoints in the dense set of waypoints 710 is generallyconfigurable and can be less than half the length of the shortestcandidate road segment among the candidate road segments.

The route builder 104 can weight the candidate road segments between thestart and finish road segments. The candidate road segments include lanesegments 110 and LSGs 112. The route builder 104 performs the weightingby iterating through each waypoint in the dense set of waypoints 710 andaccumulating a number of waypoints geometrically contained within eachlane segment and each LSG in the candidate road segments.

The route builder 104 can create the HD navigation route that includesthe path lane segments 420 between the start and finish road segments.The path lane segments 420 can be determined in reverse order. The routebuilder 104 applies candidate matching logic to determine the lanesegments 110 from the finish road segment to the start road segment,including determining the correct road segments at mergers in thecandidate road segments. The path lane segments 420 can also bedetermined in a forward manner in other implementations. For example,the route builder 104 can apply candidate matching logic to determinethe lane segments 110 from the start road segment to the finish roadsegment, including determining the correct road segments at mergers inthe candidate road segments. The HD navigation route includes asequential list of the path lane segments 420 from the starting point tothe finish point of the navigation route.

At 1006, the route builder outputs the HD navigation route in responseto matching the lane geometry data to the list of waypoints. The HDnavigation route is output to a vehicle controller of the host vehicle.For example, route builder 104 outputs an HD navigation route to avehicle controller, including vehicle-based systems 222. The HDnavigation route includes the list of waypoints 106, additionalwaypoints, and the lane geometry data. The HD navigation route can alsohave the path lane segments 420.

At 1008, the vehicle controller operates the host vehicle in a roadwayenvironment along the HD navigation route. For example, thevehicle-based systems 222 can operate vehicle 102 on roads to navigatethe HD navigation route.

EXAMPLES

In the following section, examples are provided.

Example 1: A method comprising: receiving, from a standard-definition(SD) map database, a navigation route for a host vehicle, the navigationroute including a list of waypoints; responsive to receiving thenavigation route, matching the list of waypoints to lane geometry datamaintained in a high-definition (HD) map database; outputting, to avehicle controller, an HD navigation route in response to matching thelane geometry data to the list of waypoints, the HD navigation routeincluding the list of waypoints, additional waypoints, and the lanegeometry data; and operating, with the vehicle controller, the hostvehicle in a roadway environment along the HD navigation route.

Example 2: The method of example 1, wherein matching the list ofwaypoints to the lane geometry data comprises: identifying a finish roadsegment of the HD navigation route; identifying a start road segment ofthe HD navigation route; interpolating the list of waypoints between thestart road segment and the finish road segment to generate a dense setof waypoints, the dense set of waypoints including the list of waypointsand the additional waypoints; weighting candidate road segments betweenthe start road segment and the finish road segment, the candidate roadsegments including lane segments and lane segment groups; and creatingthe HD navigation route, the HD navigation route including path lanesegments between the start road segment and the finish road segment.

Example 3: The method of example 2, wherein the HD navigation route iscreated in reverse from the finish road segment to the start roadsegment.

Example 4: The method of example 3, wherein creating the HD navigationroute comprises applying candidate matching logic to determine a correctroad segment at mergers in the candidate road segments.

Example 5: The method of example 2 or 3, wherein the HD navigation routeis created in a forward manner from the start road segment to the finishroad segment.

Example 6: The method of any of examples 2 through 5, wherein:identifying the finish road segment of the HD navigation route comprisesstarting with a last waypoint in the list of waypoints and iteratingbackward through the list of waypoints to identify a finish lane segmentthat includes coordinates of a waypoint in the list of waypoints; andidentifying the start road segment of the HD navigation route comprisesstarting a first waypoint in the list of waypoints and iterating forwardthrough the list of waypoints to identify a start lane segment thatincludes coordinates of another waypoint in the list of waypoints.

Example 7: The method of any of examples 2 through 6, whereininterpolating the list of waypoints comprises applying linearinterpolation or cubic interpolation across coordinates of the list ofwaypoints to generate the dense set of waypoints.

Example 8: The method of example 7, wherein a spacing between waypointsin the dense set of waypoints is configured to be less than half alength of a shortest candidate road segment among the candidate roadsegments.

Example 9: The method of any of examples 2 through 8, wherein weightingcandidate road segments comprises iterating through each waypoint in thedense set of waypoints and accumulating a number of waypointsgeometrically contained within each lane segment and each lane segmentgroup in the candidate road segments.

Example 10: The method of any of examples 2 through 9, wherein the HDnavigation route includes a sequential list of the lane segments from astarting point to a finish point of the navigation route.

Example 11: The method of any preceding example, wherein the SD mapdatabase is installed in the host vehicle.

Example 12: The method of any preceding example, wherein the SD mapdatabase is located remote from the host vehicle and the navigationroute is communicated, via wireless communication, to the host vehicle.

Example 13: The method of any preceding example, wherein the SD mapdatabase is located on a mobile device and the navigation route iscommunicated, via wireless communication, to the host vehicle.

Example 14: The method of any preceding example, wherein the HD mapdatabase is installed in the host vehicle and includes road segment datafor roads of a particular region, the road segment data comprising atleast lane segments, lane segment groups, and associated connectivitydata for the particular region.

Example 15: The method of any preceding example, wherein the HD mapdatabase is located remote from the host vehicle and the HD navigationroute is communicated, via wireless communication, to the host vehicle.

Example 16: A computer-readable storage medium comprisingcomputer-executable instructions that, when executed, cause a processorin a host vehicle to perform the method of any preceding example.

Example 17: A system comprising a processor configured to perform themethod of any of examples 1 through 15.

CONCLUSION

While various embodiments of the disclosure are described in thepreceding description and shown in the drawings, it is to be understoodthat this disclosure is not limited to it but may be variously embodiedto practice within the scope of the following claims. From the precedingdescription, it will be apparent that various changes may be madewithout departing from the spirit and scope of the disclosure as definedby the following claims.

What is claimed is:
 1. A method comprising: receiving, from astandard-definition (SD) map database, a navigation route for a hostvehicle, the navigation route including a list of waypoints; responsiveto receiving the navigation route, matching the list of waypoints tolane geometry data maintained in a high-definition (HD) map database;outputting, to a vehicle controller, an HD navigation route in responseto matching the lane geometry data to the list of waypoints, the HDnavigation route including the list of waypoints, additional waypoints,and the lane geometry data; and operating, with the vehicle controller,the host vehicle in a roadway environment along the HD navigation route.2. The method of claim 1, wherein matching the list of waypoints to thelane geometry data comprises: identifying a finish road segment of theHD navigation route; identifying a start road segment of the HDnavigation route; interpolating the list of waypoints between the startroad segment and the finish road segment to generate a dense set ofwaypoints, the dense set of waypoints including the list of waypointsand the additional waypoints; weighting candidate road segments betweenthe start road segment and the finish road segment, the candidate roadsegments including lane segments and lane segment groups; and creatingthe HD navigation route, the HD navigation route including path lanesegments between the start road segment and the finish road segment. 3.The method of claim 2, wherein the HD navigation route is created inreverse from the finish road segment to the start road segment.
 4. Themethod of claim 3, wherein creating the HD navigation route comprisesapplying candidate matching logic to determine a correct road segment atmergers in the candidate road segments.
 5. The method of claim 2,wherein the HD navigation route is created in a forward manner from thestart road segment to the finish road segment.
 6. The method of claim 2,wherein: identifying the finish road segment of the HD navigation routecomprises starting with a last waypoint in the list of waypoints anditerating backward through the list of waypoints to identify a finishlane segment that includes coordinates of a waypoint in the list ofwaypoints; and identifying the start road segment of the HD navigationroute comprises starting a first waypoint in the list of waypoints anditerating forward through the list of waypoints to identify a start lanesegment that includes coordinates of another waypoint in the list ofwaypoints.
 7. The method of claim 2, wherein interpolating the list ofwaypoints comprises applying linear interpolation or cubic interpolationacross coordinates of the list of waypoints to generate the dense set ofwaypoints.
 8. The method of claim 7, wherein a spacing between waypointsin the dense set of waypoints is configured to be less than half alength of a shortest candidate road segment among the candidate roadsegments.
 9. The method of claim 2, wherein weighting candidate roadsegments comprises iterating through each waypoint in the dense set ofwaypoints and accumulating a number of waypoints geometrically containedwithin each lane segment and each lane segment group in the candidateroad segments.
 10. The method of claim 2, wherein the HD navigationroute includes a sequential list of the lane segments from a startingpoint to a finish point of the navigation route.
 11. The method of claim1, wherein the SD map database is installed in the host vehicle.
 12. Themethod of claim 1, wherein the SD map database is located remote fromthe host vehicle and the navigation route is communicated, via wirelesscommunication, to the host vehicle.
 13. The method of claim 1, whereinthe SD map database is located on a mobile device and the navigationroute is communicated, via wireless communication, to the host vehicle.14. The method of claim 1, wherein the HD map database is installed inthe host vehicle and includes road segment data for roads of aparticular region, the road segment data comprising at least lanesegments, lane segment groups, and associated connectivity data for theparticular region.
 15. The method of claim 1, wherein the HD mapdatabase is located remote from the host vehicle and the HD navigationroute is communicated, via wireless communication, to the host vehicle.16. A computer-readable storage medium comprising computer-executableinstructions that, when executed, cause a processor in a host vehicleto: receive, from a standard-definition (SD) map database, a navigationroute for the host vehicle, the navigation route including a list ofwaypoints; responsive to reception of the navigation route, match thelist of waypoints to lane geometry data maintained in a high-definition(HD) map database; output, to a vehicle controller of the host vehicle,an HD navigation route in response to matching the lane geometry data tothe list of waypoints, the HD navigation route including the list ofwaypoints, additional waypoints, and the lane geometry data; andoperate, with the vehicle controller, the host vehicle in a roadwayenvironment along the HD navigation route.
 17. The computer-readablestorage medium of claim 16, wherein matching the list of waypoints tothe lane geometry data comprises: identifying a finish road segment ofthe HD navigation route; identifying a start road segment of the HDnavigation route; interpolating the list of waypoints between the startroad segment and the finish road segment to generate a dense set ofwaypoints, the dense set of waypoints including the list of waypointsand the additional waypoints; weighting candidate road segments betweenthe start road segment and the finish road segment, the candidate roadsegments including lane segments and lane segment groups; and creatingthe HD navigation route, the HD navigation route including path lanesegments between the start road segment and the finish road segment. 18.The computer-readable storage medium of claim 17, wherein: identifyingthe finish road segment of the HD navigation route comprises startingwith a last waypoint in the list of waypoints and iterating backwardthrough the list of waypoints to identify a finish lane segment thatincludes coordinates of a waypoint in the list of waypoints; andidentifying the start road segment of the HD navigation route comprisesstarting a first waypoint in the list of waypoints and iterating forwardthrough the list of waypoints to identify a start lane segment thatincludes coordinates of another waypoint in the list of waypoints. 19.The computer-readable storage medium of claim 17, wherein interpolatingthe list of waypoints comprises applying linear interpolation or cubicinterpolation across coordinates of the list of waypoints to generatethe dense set of waypoints.
 20. A system comprising a processorconfigured to: receive, from a standard-definition (SD) map database, anavigation route for a host vehicle, the navigation route including alist of waypoints; responsive to reception of the navigation route,match the list of waypoints to lane geometry data maintained in ahigh-definition (HD) map database; output, to a vehicle controller ofthe host vehicle, an HD navigation route in response to matching thelane geometry data to the list of waypoints, the HD navigation routeincluding the list of waypoints, additional waypoints, and the lanegeometry data; and operate, with the vehicle controller, the hostvehicle in a roadway environment along the HD navigation route.